﻿
namespace OestsCommon.TcpNet
{

    /*
     * 子消息代码
     */
    public enum SubCode
    {
		None = 0,

		/// <summary>
		/// Unity端由平台调用启动登录
		/// </summary>
		CommandLogin,

        /// <summary>
        /// 平台关闭后，向Unity发送，通知Unity端关闭程序
        /// </summary>
        PExit,

		#region 房间 Room
		/// <summary>
		/// 请求房间列表
		/// </summary>
		RoomList,

        /// <summary>
        /// 创建房间
        /// </summary>
        CreateRoom,

        /// <summary>
        /// 删除房间
        /// </summary>
        DeleteRoom,
        /// <summary>
        /// 加入房间
        /// </summary>
        JoinRoom,
        /// <summary>
        /// 离开房间
        /// </summary>
        LeaveRoom,

        /// <summary>
        /// 房间里加入成员并设置岗位
        /// </summary>
        SetRole,
        /// <summary>
        /// 取消岗位扮演
        /// </summary>
        RelieveRole,
        /// <summary>
        /// 房间开始任务
        /// </summary>
        RoomSartTask,
        SetPost,
        /// <summary>
        /// 删除房间中的某个玩家，需要房间ID和玩家Id
        /// </summary>
        DeletePlayer,
        /// <summary>
        /// 开始单人任务
        /// </summary>
        StartSingleTask,
        /// <summary>
        /// 更新自己所在房间的信息
        /// </summary>
        UpdateRoom,

        /// <summary>
        /// 房间开始任务
        /// </summary>
        StartMultiTask,
        #endregion

        #region 考试 Exam

        
        /// <summary>
        /// 请求考试试卷
        /// </summary>
        ExamPaper,
        /// <summary>
        /// 开始考试
        /// </summary>
        ExamStart,
        /// <summary>
        /// 考试提交
        /// </summary>
        ExamSubmit,
        /// <summary>
        /// 获取登录学生有考试记录
        /// </summary>
        GetStudentExamData,
        #endregion

        #region 实训 Train
        /// <summary>
        /// 请求一个实训组
        /// </summary>
        TrainGroup,
        /// <summary>
        /// 开始实训
        /// </summary>
        TrainStart,
        /// <summary>
        /// 实训提交
        /// </summary>
        TrainSubmit,

        /// <summary>
        /// 获取实训任务积分数据（只获取一个任务的数据），根据积分从大到小排序
        /// </summary>
        GetTrainTaskRanking,

        /// <summary>
        /// 获取所有任务的实训数据
        /// </summary>
        GetTrainData,
        /// <summary>
        /// 获取某一学生的实训数据
        /// </summary>
        GetStudentTrainData,
        /// <summary>
        /// 更新操作流程
        /// </summary>
        UpdateOperation,

        /// <summary>
        /// 终止实训 occ
        /// </summary>
        AbortTrain,

        /// <summary>
        /// 实训完成
        /// </summary>
        FinishTrain,

        #endregion

        #region 模式
        /// <summary>
        /// 获取模式
        /// </summary>
        PatternGet,
        /// <summary>
        /// 教师设置模式 
        /// 数据格式:Int3String
        /// n1 TeacherId;
        /// n2 TrainingId;
        /// n3 ExamId;
        /// String Pattern
        /// </summary>
        PatternSet,
        #endregion

        #region Game
        /// <summary>
        /// 同步角色位置和旋转信息
        /// </summary>
        SyncRolePositionAndEulerAngles,

        /// <summary>
        /// 同步角色动画
        /// </summary>
        SyncRoleAnimation,
        /// <summary>
        /// 终止任务
        /// </summary>
        AbortTask,
        #endregion

        #region Teacher 教员的详细功能定义
        /// <summary>
        /// 学员上线
        /// </summary>
        StudentOnline,

		#endregion


		Operate,

        Role_Join,
        Role_SetDestination,
        Role_SyncPosition,


        #region Exchange 交易

        TryStartExchange,

        StartExchange,

        CancelExchange,

        LockedExchange,


        CompleteExchange,


        #endregion
    }

}

